The present disclosure relates generally to host devices enabling operation with client devices based on enumeration information, and in particular to host devices enabling operation with client devices using enumeration information stored or cached by the host devices.
Computing devices have been in use for several decades. Examples of computing devices include, for example, desktop computers, laptop computers, mobile phones, smartphones, tablet devices, portable multimedia players, global positioning system devices, video game players, personal digital assistants (PDAs), portable email devices, multifunction devices, and/or the like. Examples of multi-function devices include various iPhone™ and iPod™ models manufactured and sold by Apple Inc., assignee of the present application. Computing devices can be used for performing a wide variety of tasks, from the simple to some of the most complex.
In some instances, two computing devices can be configured to communicate with one other. For example, two computing devices can be connected and communicate over a printed circuit board (“PCB”) trace or cable. To facilitate communication between computing devices, it is common to rely on standard communication protocols, such as the universal serial bus (USB) protocol. The USB specification requires that in order for operation between a host device and client device to be enabled, a configuration process must occur. In some instances, a configuration process can include a client device providing enumeration information (e.g., information about the client device) to the host device, and the host device enabling operation with the client device based on the provided enumeration information.